package _76

import "strings"

/*
时间复杂度：O(N/k)
空间复杂度：O(1)

解决: 如何快速补全字符?
	对s进行每k个字符分成一组，最后一组不足的全部补全成fill，那么最后一组应该补全多少个??
	-> k-(n-1)%k-1个， 取模的减一法，这样做是为了能同时计算n%k==0的情况；
	假设n%k==0, (n-1)%k==k-1 此时 k-(k-1)-1==0
*/

func divideString(s string, k int, fill byte) []string {
	st := s + strings.Repeat(string(fill), k-(len(s)-1)%k-1)
	ans := make([]string, 0, len(st)/k)
	for i := 0; i < len(st); i += k {
		ans = append(ans, st[i:i+k])
	}
	return ans
}
